package com.power.sifa.std.api;

import com.plf.common.domain.ResponseDTO;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.MultipartFile;
import com.power.sifa.std.model.Std_admunit;
import com.power.sifa.std.model.pageInfo.Std_admunitPageInfo;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import java.io.IOException;

/**
 *  行政管理单位 Feign
 */
public interface IStd_admunitFeign {

    /**
     * 行政管理单位分页列表
     */
    @PostMapping("/std_admunit/list")
    ResponseDTO list(@RequestBody Std_admunitPageInfo std_admunitPageInfo);

    /**
    * 查看行政管理单位
    */
    @GetMapping("/std_admunit/view")
    ResponseDTO view(@RequestParam("id") String id);

    /**
    * 删除行政管理单位
    */
    @PostMapping("/std_admunit/delete")
    ResponseDTO delete(@RequestParam("id") String id);

    ///**
    // * 查看行政管理单位 复合主键使用
    // */
    //@PostMapping("/std_admunit/viewByPK")
    //ResponseDTO viewByPK(@RequestBody Std_admunit.Std_admunitPK pk);

    /**
     * 修改或保存行政管理单位
     */
    @PostMapping("/std_admunit/save")
    ResponseDTO save(@RequestBody Std_admunit  std_admunit);

    ///**
    // * 删除行政管理单位 复合主键使用
    // */
    //@PostMapping("/std_admunit/deleteByPK")
    //ResponseDTO deleteByPK(@RequestBody Std_admunit.Std_admunitPK pk);

    /**
     * 批量删除行政管理单位
     */
    @PostMapping("/std_admunit/batchDel")
    ResponseDTO batchDel(@RequestParam("ids") String ids);

     /**
     * 导出excel
     */
    @PostMapping("/std_admunit/output")
    void output(HttpServletResponse response, @RequestBody Std_admunitPageInfo std_admunitPageInfo);

     /**
     * 导出excel模板
     */
    @PostMapping("/std_admunit/exportExcelTemplate")
    void exportExcelTemplate(HttpServletResponse response);

     /**
     *	导入excel
     */
    @PostMapping("/std_admunit/importExcel")
    ResponseDTO importExcel(@RequestBody MultipartFile file) throws IOException ;


    /**
     * 获取全部的行政单位，不加判断条件，用于前端的下拉框选择
     * @return
     */
    @PostMapping("/std_admunit/getAllUnit")
    ResponseDTO getAllUnit();

    /**
     * 保存行政单位，需要校验是否存在同单位名称的数据
     * @param std_admunit
     * @return
     */
    @PostMapping("/std_admunit/saveUnit")
    ResponseDTO saveUnit(@RequestBody @Valid  Std_admunit  std_admunit);


    /**
     * 查询被申请人类型树
     * @return
     */
    @PostMapping("/std_admunit/tree")
    ResponseDTO tree();
}
